// 参考图片功能测试脚本
// 在微信开发者工具的控制台中运行此脚本来测试参考图片功能

const ReferenceImageManager = require('./utils/referenceImageManager.js');
const FaceService = require('./utils/faceService.js');

console.log('🧪 开始测试参考图片功能...');

// 测试1: 获取参考图片缓存状态
console.log('\n=== 测试1: 获取参考图片缓存状态 ===');
const cacheStatus = FaceService.getReferenceImageCacheStatus();
console.log('缓存状态:', cacheStatus);

// 测试2: 预加载参考图片
console.log('\n=== 测试2: 预加载参考图片 ===');
FaceService.preloadReferenceImage().then((success) => {
  console.log('预加载结果:', success ? '成功' : '失败');
  
  // 测试3: 再次检查缓存状态
  console.log('\n=== 测试3: 预加载后的缓存状态 ===');
  const newCacheStatus = FaceService.getReferenceImageCacheStatus();
  console.log('新的缓存状态:', newCacheStatus);
  
  // 测试4: 获取参考图片Base64
  console.log('\n=== 测试4: 获取参考图片Base64 ===');
  ReferenceImageManager.getReferenceImageBase64().then((base64) => {
    console.log('参考图片Base64长度:', base64.length);
    console.log('Base64前100字符:', base64.substring(0, 100) + '...');
    
    // 测试5: 强制刷新参考图片
    console.log('\n=== 测试5: 强制刷新参考图片 ===');
    FaceService.refreshReferenceImage().then((newBase64) => {
      console.log('刷新后的Base64长度:', newBase64.length);
      console.log('刷新是否成功:', newBase64.length > 0);
      
      // 测试6: 清除缓存
      console.log('\n=== 测试6: 清除参考图片缓存 ===');
      FaceService.clearReferenceImageCache();
      const clearedCacheStatus = FaceService.getReferenceImageCacheStatus();
      console.log('清除后的缓存状态:', clearedCacheStatus);
      
      console.log('\n✅ 所有测试完成！');
    }).catch((error) => {
      console.error('❌ 刷新参考图片失败:', error);
    });
  }).catch((error) => {
    console.error('❌ 获取参考图片Base64失败:', error);
  });
}).catch((error) => {
  console.error('❌ 预加载参考图片失败:', error);
});

// 测试7: 模拟人脸识别流程
console.log('\n=== 测试7: 模拟人脸识别流程 ===');
console.log('注意: 此测试需要实际的图片文件，请在页面中手动测试');

// 使用说明
console.log('\n📖 使用说明:');
console.log('1. 在微信开发者工具中打开人脸识别页面');
console.log('2. 查看控制台输出，确认参考图片预加载成功');
console.log('3. 点击"参考图片状态"菜单项查看缓存信息');
console.log('4. 尝试拍照或选择图片进行人脸识别');
console.log('5. 观察控制台日志，确认使用了本地缓存的参考图片');


